$(document).ready(function() {
	


	$( window ).scroll(function() {
		var iCurScrollPos = $(this).scrollTop();
		
		if(iCurScrollPos > 40)
		{
			$( "#mapa" ).css( "top", iCurScrollPos + 70 );
		}else{
			if(iCurScrollPos < 80)
			{
				$( "#mapa" ).css( "top", 100 );
			}
		}
		
		
		});
	
	$('.inm').each(function(index, value) {
	    $(this).click(function(){
	    	
	    	var indice = $(this).attr('id');
		
			$(markers).each(function(i, obj) {
	    		if(markers[i].getIcon().indexOf("FFFF00") != -1)
				{
	    			var newMarker = markers[i].getIcon().replace("FFFF00", "FF0000");
					markers[i].setIcon(newMarker);
				}
	    	});
		
	    	markers[index].setIcon('https://chart.googleapis.com/chart?chst=d_map_pin_letter&chld='+ (indice) +'|FFFF00|000000');

	    });
	});
	
	$(".menu").mouseover(function(){
		$(this).addClass("encima");
	});
	
	$(".menu").mouseleave(function(){
		$(this).removeClass("encima")
	});
	
	$(".menu").click(function(){
		var index = $(this).parent().children().index( this );
		var padre = $(this).parent().parent();
		$(this).removeClass("seleccionado");
		$(this).addClass("seleccionado");
		
		switch(index) {
			case 0:
				$(padre).find("div.divAcercaClass").show();
				$(padre).find("div.divHorarioClass").hide();
				//$(padre).find("div.divResenaClass").hide();
				
				$(this).parent().children().eq(1).removeClass("seleccionado");
				//$(this).parent().children().eq(2).removeClass("seleccionado");
				
				break;
			case 1:
				
				var divHorario = (padre).find("div.divHorarioClass");
				
				$.ajax({
			        // la URL para la petición
			        url : '${myUrl}/src/horario.html',
			    
			        // la información a enviar
			        // (también es posible utilizar una cadena de datos)
			        data : { id : $(divHorario).attr("id") },
			    
			        // especifica si será una petición POST o GET
			        type : 'GET',
			    
			        // el tipo de información que se espera de respuesta
			        dataType : 'html',
			    
			        // código a ejecutar si la petición es satisfactoria;
			        // la respuesta es pasada como argumento a la función
			        success : function(html) {
			        	$(divHorario).html(html);
			        },
			    
			        // código a ejecutar si la petición falla;
			        // son pasados como argumentos a la función
			        // el objeto jqXHR (extensión de XMLHttpRequest), un texto con el estatus
			        // de la petición y un texto con la descripción del error que haya dado el servidor
			        error : function(jqXHR, status, error) {
			        	$(divHorario).append("Intente de nuevo");
			        },
			    
			       
			    });
				
				$(padre).find("div.divAcercaClass").hide();
				$(divHorario).show();
				
				$(this).parent().children().eq(0).removeClass("seleccionado");
				
				break;

		}
		
	});
		
	
	
	
	/**Cambiar tamaño panel**/
	$("#comboEspecialidad").chosen({width:"85%"});
	$("#estado").chosen({width:"85%"}).change(function(){
		obtnMun($(this).val());
	});
	$("#municipio").trigger("chosen:updated").chosen({width:"85%"});
	$("#servicio").chosen({width:"85%"});
	$("#caracteristicas").chosen({width:"85%"});
	$("#radio").chosen({width:"85%"});
	$("#horarioSelect").chosen({width:"85%",disable_search_threshold: 10}).change(function(){
		if($(this).val() == 2){
			$("#opcionRangoHora").show();
			}
		else{
			$('.rangoHoras').timeEntry('setTime', ''); 
			$("#opcionRangoHora").hide();
		}
	});

	$("#formaPagoSelect").chosen({width:"85%",disable_search_threshold: 10});

	$('.rangoHoras').timeEntry({beforeShow: customRange,timeSteps: [1, 15, 0]}); 

	$('#horaInicial').focus(function(){
		$('#horaFinal').val("");
		$('.rangoHoras').timeEntry('destroy').timeEntry({beforeShow: customRange,timeSteps: [1, 15, 0]}); 
	});


	$("#busquedaMapa").click(function(){

		var window_height = $( window ).height();
		$("#lugarUbicacion").show().css({'height':window_height-60+'px','margin-top':'60px'});
		$("#lista").hide();
		$("#panel").stop().animate({'left': '0'}, 500);
		$(".direccion").hide();
		$("#estado_chosen").hide();
		$("#municipio_chosen").hide();
		$("#radio_chosen").show();
		$(".menuBusqueda").removeClass("clickMenu");
		$(this).addClass("clickMenu");
		$(this).removeClass("unclickMenu");
		//$(".menuBusqueda").not($(this)).stop().animate({'width': '60px'}, 500);
		$("#contenedor").hide();
		$("#paginacion").hide();
		$("#mapa").hide();
		initMap();
		
	});

	$( "#busquedaDireccion" ).click(function(e){
		$("#radio_chosen").hide();
		$("#lugarUbicacion").hide();
		$("#panel").stop().animate({'left': '0'}, 500);
		$(".direccion").show();
		$("#estado_chosen").show();
		$("#municipio_chosen").show();
		$("#lista").show();
		$(".menuBusqueda").removeClass("clickMenu");
		$(this).addClass("clickMenu");
		$(this).removeClass("unclickMenu");
		$("#contenedor").show();
		$("#paginacion").show();
		$("#mapa").show();
		$("#lugarUbicacion").hide()
		//$(".menuBusqueda").not($(this)).stop().animate({'width': '60px'}, 500);
	});


	$("#buscarBoton").click(function(){
		circle.setRadius(5000);
	});

	$('#radio').on('change', function(evt, params) {
		
	    circle.setRadius(parseInt($(this).val()));
	  });
		
	$("#ocultar").click(function(){
		$("#panel").stop().animate({'left': '-380px'}, 500);
	});

}  
);

function customRange(input) { 
    return {minTime: (input.id === 'horaFinal' ? 
        $('#horaInicial').timeEntry('getTime') : null),  
        maxTime: (input.id === 'horaInicial' ? 
        $('#horaFinal').timeEntry('getTime') : null)}; 
}

var markers = new Array();

function initialize() {
	
// Setup the different icons and shadows
var iconURLPrefix = 'http://maps.google.com/mapfiles/ms/icons/';

var shadow = {
      anchor: new google.maps.Point(15,33),
      url: iconURLPrefix + 'msmarker.shadow.png'
    };
	
var map = new google.maps.Map(document.getElementById('mapa'), {
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      mapTypeControl: false,
      streetViewControl: false,
      panControl: false,
      zoomControlOptions: {
         position: google.maps.ControlPosition.LEFT_BOTTOM
      }
    });
	
	
var infowindow = new google.maps.InfoWindow({
      maxWidth: 160
    });
	

	var marker;
    
    
    // Add the markers and infowindows to the map
    for (var i = 0; i < data.lugares.length; i++) {
    	var informacion = data.lugares[i];
      marker = new google.maps.Marker({
        position: new google.maps.LatLng(informacion.latitud, informacion.longitud),
        map: map,
        icon : 'https://chart.googleapis.com/chart?chst=d_map_pin_letter&chld='+ (informacion.indice) +'|FF0000|000000',
        title: informacion.titulo,
        shadow: shadow
      });

      markers.push(marker);

      google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
          infowindow.setContent(data.lugares[i].titulo);
          infowindow.open(map, marker);
        }
      })(marker, i));
      

    }	
	

      //  Create a new viewpoint bound
      var bounds = new google.maps.LatLngBounds();
      //  Go through each...
      $.each(markers, function (index, marker) {
        bounds.extend(marker.position);
      });
      //  Fit these bounds to the map
      map.fitBounds(bounds);
    }

google.maps.event.addDomListener(window, 'load', initialize);

var map;
var markersArray = [];
var circle;


function initMap()
{
    var latlng = new google.maps.LatLng(25.734614446576902, -100.27161598205566);
    var myOptions = {
        zoom: 14,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("lugarUbicacion"), myOptions);

    // add a click event handler to the map object
    google.maps.event.addListener(map, "click", function(event)
    {
        // place a marker
        placeMarker(event.latLng);

        // display the lat/lng in your form's lat/lng fields
        //document.getElementById("latFld").value = event.latLng.lat();
        //document.getElementById("lngFld").value = event.latLng.lng();
    });
	
	
	circle = new google.maps.Circle({
    map: map,
    clickable: false,
    // metres
    radius: 1000,
    fillColor: '#fff',
    fillOpacity: .6,
    strokeColor: '#313131',
    strokeOpacity: .4,
    strokeWeight: .8
});
	
	
}



function placeMarker(location) {
    // first remove all markers if there are any
    deleteOverlays();

    var marker = new google.maps.Marker({
        position: location, 
        map: map
    });

	circle.bindTo('center', marker, 'position');
	
    // add marker in markers array
    markersArray.push(marker);
	
	

    //map.setCenter(location);
}

// Deletes all markers in the array by removing references to them
function deleteOverlays() {
    if (markersArray) {
        for (i in markersArray) {
            markersArray[i].setMap(null);
        }
    markersArray.length = 0;
    }
}

function obtnMun(edo){
	$.ajax({
		
		// la URL para la petición
        url : 'src/mcpo.html',
    
        // la información a enviar
        // (también es posible utilizar una cadena de datos)
        data : { id : edo },
    
        // especifica si será una petición POST o GET
        type : 'GET',

        processData:true,
        cache: false,
        contentType: "application/x-www-form-urlencoded",

        dataType: "json",
        
        
        beforeSend: function(){
       
    	},

    	success: function(data,status){
    		
    		
			var newOptions = [];
		
        	 for (var i = 0; i < data.lugares.length; i++) {
        	    	var informacion = data.lugares[i];				
					newOptions.push('<option value="'+ informacion.id +'">'+ informacion.descripcion +'</option>');
        	   }
	
				$("#municipio").html(newOptions.join('')).trigger("chosen:updated");
        }
        
	});
}